minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))
↳ QTRS
↳ DependencyPairsProof
minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))
DIV2(plus2(x, y), z) -> PLUS2(div2(x, z), div2(y, z))
DIV2(s1(x), s1(y)) -> MINUS2(x, y)
MINUS2(s1(x), s1(y)) -> P1(s1(x))
MINUS2(s1(x), s1(y)) -> P1(s1(y))
MINUS2(x, plus2(y, z)) -> MINUS2(minus2(x, y), z)
PLUS2(s1(x), y) -> PLUS2(y, minus2(s1(x), s1(0)))
MINUS2(s1(x), s1(y)) -> MINUS2(p1(s1(x)), p1(s1(y)))
P1(s1(s1(x))) -> P1(s1(x))
DIV2(s1(x), s1(y)) -> DIV2(minus2(x, y), s1(y))
MINUS2(x, plus2(y, z)) -> MINUS2(x, y)
PLUS2(s1(x), y) -> MINUS2(s1(x), s1(0))
DIV2(plus2(x, y), z) -> DIV2(x, z)
DIV2(plus2(x, y), z) -> DIV2(y, z)
minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
DIV2(plus2(x, y), z) -> PLUS2(div2(x, z), div2(y, z))
DIV2(s1(x), s1(y)) -> MINUS2(x, y)
MINUS2(s1(x), s1(y)) -> P1(s1(x))
MINUS2(s1(x), s1(y)) -> P1(s1(y))
MINUS2(x, plus2(y, z)) -> MINUS2(minus2(x, y), z)
PLUS2(s1(x), y) -> PLUS2(y, minus2(s1(x), s1(0)))
MINUS2(s1(x), s1(y)) -> MINUS2(p1(s1(x)), p1(s1(y)))
P1(s1(s1(x))) -> P1(s1(x))
DIV2(s1(x), s1(y)) -> DIV2(minus2(x, y), s1(y))
MINUS2(x, plus2(y, z)) -> MINUS2(x, y)
PLUS2(s1(x), y) -> MINUS2(s1(x), s1(0))
DIV2(plus2(x, y), z) -> DIV2(x, z)
DIV2(plus2(x, y), z) -> DIV2(y, z)
minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
P1(s1(s1(x))) -> P1(s1(x))
minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
P1(s1(s1(x))) -> P1(s1(x))
POL(P1(x1)) = x12
POL(s1(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
MINUS2(s1(x), s1(y)) -> MINUS2(p1(s1(x)), p1(s1(y)))
MINUS2(x, plus2(y, z)) -> MINUS2(x, y)
MINUS2(x, plus2(y, z)) -> MINUS2(minus2(x, y), z)
minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MINUS2(x, plus2(y, z)) -> MINUS2(x, y)
MINUS2(x, plus2(y, z)) -> MINUS2(minus2(x, y), z)
Used ordering: Polynomial interpretation [21]:
MINUS2(s1(x), s1(y)) -> MINUS2(p1(s1(x)), p1(s1(y)))
POL(0) = 0
POL(MINUS2(x1, x2)) = x2
POL(minus2(x1, x2)) = 0
POL(p1(x1)) = 0
POL(plus2(x1, x2)) = 1 + x1 + x2
POL(s1(x1)) = 0
p1(s1(s1(x))) -> s1(p1(s1(x)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
MINUS2(s1(x), s1(y)) -> MINUS2(p1(s1(x)), p1(s1(y)))
minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
PLUS2(s1(x), y) -> PLUS2(y, minus2(s1(x), s1(0)))
minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
DIV2(s1(x), s1(y)) -> DIV2(minus2(x, y), s1(y))
DIV2(plus2(x, y), z) -> DIV2(x, z)
DIV2(plus2(x, y), z) -> DIV2(y, z)
minus2(x, 0) -> x
minus2(0, y) -> 0
minus2(s1(x), s1(y)) -> minus2(p1(s1(x)), p1(s1(y)))
minus2(x, plus2(y, z)) -> minus2(minus2(x, y), z)
p1(s1(s1(x))) -> s1(p1(s1(x)))
p1(0) -> s1(s1(0))
div2(s1(x), s1(y)) -> s1(div2(minus2(x, y), s1(y)))
div2(plus2(x, y), z) -> plus2(div2(x, z), div2(y, z))
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(y, minus2(s1(x), s1(0))))